package icu.cqcai.xinsi.domain.dto;

import icu.cqcai.xinsi.domain.User;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

/**
 * 用户登录响应DTO
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserLoginResponse {
    
    /** 登录是否成功 */
    private boolean success;
    
    /** 响应消息 */
    private String message;
    
    /** 用户信息（不包含密码） */
    private User user;
    
    /** 简单的令牌（实际项目中应使用JWT等） */
    private String token;
    
    /**
     * 创建成功响应
     */
    public static UserLoginResponse success(User user, String token) {
        // 创建用户副本，移除密码信息
        User safeUser = new User(user.getUsername(), null, user.getEmail(), user.getPhone());
        return new UserLoginResponse(true, "Login successful", safeUser, token);
    }
    
    /**
     * 创建失败响应
     */
    public static UserLoginResponse failure(String message) {
        return new UserLoginResponse(false, message, null, null);
    }
} 